#ifndef TOOLS_H
#define TOOLS_H

#include <QString>
#include <QDebug>
#include <QNetworkInterface>//网络信息
#include <QHostAddress>//ip地址
#include <QTcpServer> //tcp协议
#include <QTcpSocket> //socket套接字
#include "class.h"
#include "constDefination.h"
#include <QTimer>
#include <QEventLoop>
#include <QDataStream>
#include <QMessageBox>

//存放工具函数的头文件

//判断用户名格式是否正确函数,正确返回true,错误返回false
bool usernameIsTrue(const QString &username);
//判断密码格式是否正确函数,正确返回true,错误返回false
bool passwordIsTrue(const QString &password);
//判断电话格式是否正确，正确返回true，错误返回false
bool phoneIsTrue(const QString &phoneNumber);
//从字节流中读取用户对象
void getUserByStream(QDataStream &in, User &user);
//发送用户数据给客户端
void sendUserData(QTcpSocket* socket, const User& user);
//从字节流中读取朋友对象
void getFriendByStream(QDataStream &in,Friend &frd);
//发送朋友数据给客户端
void sendFriendData(QTcpSocket* socket, const Friend &frd);
//发送数据库操作请求头
void sendDatabase(QTcpSocket* socket, quint8 packetType,quint8 operationType,quint8 tableType);
//发送聊天记录操作请求头
void sendChatdata(QTcpSocket* socket,quint8 packetType,quint8 dataType,int len);
//等待指定时间
void waitForTimeout(int milliseconds);
// 刷新
void shuaxin(QTcpSocket *socket,quint8 tableType,const QString &username,QStringList &usernames);

#endif // TOOLS_H
